package com.supreme.nettyapp.generalclient.socketclient.handler2;

public enum WaterGunEnum {

    /**
     * 读取状态
     */
    READ_STATUS((byte) 0xBA),

    /**
     * 启动
     */
    START_UP((byte) 0xAA),

    /**
     * 复位
     */
    RESET((byte) 0xA4),

    /**
     * 补偿/喷射
     */
    SPURT((byte) 0xB2),

    /**
     * 开阀
     */
    OPEN_VALVE((byte) 0xB0),

    /**
     * 关阀
     */
    CLOSE_VALVE((byte) 0xB1),

    /**
     * 恢复默认
     */
    RESTORE((byte) 0xB6),

    /**
     * 柱状
     */
    COLUMN((byte) 0xAE),

    /**
     * 雾状
     */
    FOG((byte) 0xAF),

    /**
     * 纯手动
     */
    PURE_MANUAL((byte) 0xA6),

    /**
     * 手动
     */
    MANUAL((byte) 0xA5),

    /**
     * 自动
     */
    AUTOMATION((byte) 0xA9),

    /**
     * 上
     */
    UP((byte) 0xA1),

    /**
     * 下
     */
    DOWN((byte) 0xA0),

    /**
     * 左
     */
    LEFT((byte) 0xA3),

    /**
     * 右
     */
    RIGHT((byte) 0xA2),

    /**
     * 停
     */
    STOP((byte) 0xA7),

    /**
     * 彩色
     */
    COLOR((byte) 0xB5),

    /**
     * 黑白
     */
    BLACK_WHITE((byte) 0xB4),

    /**
     * 坐标
     */
    COORDINATE((byte) 0xFE);

    private final byte value;

    WaterGunEnum(byte value) {
        this.value = value;
    }

    public byte getValue() {
        return value;
    }

    /**
     * 根据字节值查找对应的枚举
     */
    public static WaterGunEnum fromByte(byte value) {
        for (WaterGunEnum cmd : WaterGunEnum.values()) {
            if (cmd.value == value) {
                return cmd;
            }
        }
        throw new IllegalArgumentException("Unknown FireWaterMsgEnums value: " + value);
    }
}
